
import { loadEnv, defineConfig } from "vite";
import path from "path";
import vue from '@vitejs/plugin-vue'
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
const pathSrc = path.resolve(__dirname, "src");

export default defineConfig(({ mode }) =>{
  const env = loadEnv(mode, process.cwd());
  return {
    plugins: [
      vue(),
      AutoImport({
        imports: ["vue",'pinia'],
        dirs: ['./src/stores'],
        eslintrc: {
          enabled: false, // 是否自动生成 eslint 规则，建议生成之后设置 false
          filepath: "./.eslintrc-auto-import.json", // 指定自动导入函数 eslint 规则的文件
        },
        vueTemplate: true, // 是否在 vue 模板中自动导入
        dts: true, // 指定自动导入组件TS类型声明文件路径
      }),
      Components({
        dts: 'src/components.d.ts',
        // dts: path.resolve(pathSrc, "types", "components.d.ts"), // 指定自动导入组件TS类型声明文件路径
      })
    ],
    // 路径别名
    resolve: {
      alias: {
        "@": pathSrc, // @代替src
      },
    },
    server: {
      host: "0.0.0.0",
      port: Number(env.VITE_APP_PORT),
      open: true, 
      proxy: {
        // 反向代理解决跨域
       
      },
    }
  }
})
